package com.quanyan.runningriding.entity.vo.run.req;

import com.quanyan.common.validation.base.Insert;
import com.quanyan.runningriding.entity.vo.run.*;
import org.hibernate.validator.constraints.NotEmpty;

import java.util.List;

/**
 * RunRecordVo
 *
 * @author Tu Chun
 * @date 2016/8/23
 */
public class RunRecordVo {
    @NotEmpty(groups = Insert.class)
    private String userId;
    /**
     * 用户昵称
     */
    private String userNickname;
    /**
     * 用户头像
     */
    private String userPhoto;
    /**
     * 跑步名称
     */
    private String runName;
    /**
     * 运动距离
     */
    private Double distance;
    /**
     * 运动时间
     */
    private Long exerciseTime;
    /**
     * 消耗的卡路里
     */
    private Double calories;
    /**
     * 平均配速
     */
    private Long avgPace;
    /**
     * 最大配速
     */
    private Long maxPace;
    /**
     * 最小配速
     */
    private Long minPace;
    /**
     * 运动步数
     */
    private Integer stepCount;
    /**
     * 运动步频
     */
    private Integer cadence;
    /**
     * 运动步幅
     */
    private Integer stride;
    /**
     * 运动海拔
     */
    private Double altitude;
    /**
     * 累计爬升
     */
    private Double cumulativeClimb;
    /**
     * 运动时间
     */
    private List<PerkiloPaceInfo> perkiloPaces;
    /**
     * 经纬度
     */
    private List<LatLngInfo> latLngs;
    /**
     * 开始时间
     */
    private Long startTime;
    /**
     * 结束时间
     */
    private Long endTime;
    /**
     * 运动步幅
     */
    private List<PermeterStrideInfo> permeterStrides;
    /**
     * 运动海拔
     */
    private List<PermeterAltitudeInfo> permeterAltitudes;

    /**
     * 运动步频
     */
    private List<PermeterCadenceInfo> permeterCadences;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserNickname() {
        return userNickname;
    }

    public void setUserNickname(String userNickname) {
        this.userNickname = userNickname;
    }

    public String getUserPhoto() {
        return userPhoto;
    }

    public void setUserPhoto(String userPhoto) {
        this.userPhoto = userPhoto;
    }

    public String getRunName() {
        return runName;
    }

    public void setRunName(String runName) {
        this.runName = runName;
    }

    public Double getDistance() {
        return distance;
    }

    public void setDistance(Double distance) {
        this.distance = distance;
    }

    public Long getExerciseTime() {
        return exerciseTime;
    }

    public void setExerciseTime(Long exerciseTime) {
        this.exerciseTime = exerciseTime;
    }

    public Double getCalories() {
        return calories;
    }

    public void setCalories(Double calories) {
        this.calories = calories;
    }

    public Long getAvgPace() {
        return avgPace;
    }

    public void setAvgPace(Long avgPace) {
        this.avgPace = avgPace;
    }

    public Long getMaxPace() {
        return maxPace;
    }

    public void setMaxPace(Long maxPace) {
        this.maxPace = maxPace;
    }

    public Long getMinPace() {
        return minPace;
    }

    public void setMinPace(Long minPace) {
        this.minPace = minPace;
    }

    public Integer getStepCount() {
        return stepCount;
    }

    public void setStepCount(Integer stepCount) {
        this.stepCount = stepCount;
    }

    public Integer getCadence() {
        return cadence;
    }

    public void setCadence(Integer cadence) {
        this.cadence = cadence;
    }

    public Integer getStride() {
        return stride;
    }

    public void setStride(Integer stride) {
        this.stride = stride;
    }

    public Double getAltitude() {
        return altitude;
    }

    public void setAltitude(Double altitude) {
        this.altitude = altitude;
    }

    public Double getCumulativeClimb() {
        return cumulativeClimb;
    }

    public void setCumulativeClimb(Double cumulativeClimb) {
        this.cumulativeClimb = cumulativeClimb;
    }

    public List<PerkiloPaceInfo> getPerkiloPaces() {
        return perkiloPaces;
    }

    public void setPerkiloPaces(List<PerkiloPaceInfo> perkiloPaces) {
        this.perkiloPaces = perkiloPaces;
    }

    public List<LatLngInfo> getLatLngs() {
        return latLngs;
    }

    public void setLatLngs(List<LatLngInfo> latLngs) {
        this.latLngs = latLngs;
    }

    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public List<PermeterStrideInfo> getPermeterStrides() {
        return permeterStrides;
    }

    public void setPermeterStrides(List<PermeterStrideInfo> permeterStrides) {
        this.permeterStrides = permeterStrides;
    }

    public List<PermeterAltitudeInfo> getPermeterAltitudes() {
        return permeterAltitudes;
    }

    public void setPermeterAltitudes(List<PermeterAltitudeInfo> permeterAltitudes) {
        this.permeterAltitudes = permeterAltitudes;
    }

    public List<PermeterCadenceInfo> getPermeterCadences() {
        return permeterCadences;
    }

    public void setPermeterCadences(List<PermeterCadenceInfo> permeterCadences) {
        this.permeterCadences = permeterCadences;
    }
}
